﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using IBLL;
using IDAL;
using DataMode;
namespace BLL
{
    public class Album : IBLL.IAlbum 
    {
        private static readonly IDAL.IAlbum dal = DALFactory.DataAccess.GetAlbum();

        public void InsertAlbum(DataMode.video_album album)
        {
            dal.InsertAlbum(album);
            return;
        }

        public IOrderedQueryable GetUserAlbums(string username)
        {
            return dal.GetAlbums(username);
        }

        public void updateAlbum(video_album album)
        {
            dal.updateAlbum(album);

            return; 
        }

        public void DeleteAlbum(int id)
        {
            dal.DeleteAlbum(id);
            return;
        }

        public DataMode.video_album findAlbum(int id)
        {
            return dal.findAlbum(id);
        }

        public video_album GetThisAlbumInfoByAlbumID(int albumID)
        {
            return dal.GetAlbumInfoByAlbumID(albumID);
        }

        public IOrderedQueryable GetVideosByAlbumID(int albumID)
        {
            return dal.GetVideosByAlbumID(albumID);
        }

        public int GetVideosNumByAlbumeID(int albumID)
        {
            return dal.GetVideosNumByAlbumID(albumID);
        }


        public void RenameAlbumByAlbumID(int albumID, string albumName)
        {
            dal.RenameAlbumByAlbumID(albumID, albumName);
            return;
        }


        public IOrderedQueryable GetAlbumsByUsername(string username)
        {
            return dal.GetAlbumsByUsername(username);
        }

        public int GetAlbumIDByAlbumAndUsername(string albumName, string username)
        {
            return dal.GetAlbumIDByAlbumAndUsername(albumName, username);
        }
    }
}
